﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using App_Persistencia;
using System.Data;


namespace App_Negocio
{
    public class Mesa
    {
        int idMesa;

        public int IdMesa
        {
            get { return idMesa; }
            set { idMesa = value; }
        }
        
        int nro;

        public int Nro
        {
            get { return nro; }
            set { nro = value; }
        }
        List<Invitado> invitadoList;

        public List<Invitado> InvitadoList
        {
            get { return invitadoList; }
            set { invitadoList = value; }
        }

        public void crearMesasEvento(int idEvento, int cantMesas)
        {
            Mesa_Data mesas = new Mesa_Data();
            mesas.crearMesasEvento(idEvento, cantMesas);


        }

        public LinkedList<Mesa> mesaxEventoList(Evento evento)
        {
            Mesa_Data mesa = new Mesa_Data();
            Evento_Data eventoData = new Evento_Data();
            eventoData.Id = evento.Id;
            DataTable dataTable = mesa.mesaxEvento(eventoData);

            LinkedList<Mesa> lista = new LinkedList<Mesa>();
            Mesa item = null;
            foreach (DataRow dr in dataTable.Rows)
            {
                item = new Mesa();
                item.Nro = int.Parse(dr["Nro"].ToString());
                item.IdMesa = int.Parse(dr["Id"].ToString());
                lista.AddLast(item);
            }

            return lista;
        }

        public void guardarMesa(int EventoId)
        {
            Mesa_Data mesa = new Mesa_Data();
            mesa.Nro = nro;

            List<Invitado_Data> lInvitadosData = new List<Invitado_Data>();

            foreach (Invitado inv in invitadoList)
            {
                App_Persistencia.Invitado_Data invitadoData = new Invitado_Data();
                Menu_Data menuData = new Menu_Data();
                menuData.Id = inv.Menu.Id;

                invitadoData.Apellido = inv.Apellido;
                invitadoData.Nombre = inv.Nombre;
                invitadoData.Dni = inv.Dni;
                invitadoData.Menu = menuData;


                lInvitadosData.Add(invitadoData);
            }

            mesa.InvitadoList = lInvitadosData;

            mesa.guardarMesa(EventoId);

        }

       
    }
}
